package com.shujia.api.controller;

import com.shujia.api.bean.AdsRegionDayTotalAmount;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

/**
 * spring boot 底层使用了大量的反射
 * 使用返回获取类上的注解，使用反射创建类的对象，将类中的方法和一个路径绑定
 */
@RestController
public class GmaController {
    //构造函数在创建对象的时候被调用
    public GmaController() {
        System.out.println("GmaController构造函数");
    }

    /**
     * 数据服务
     * <p>
     * 通过地区查询地区每天的支付金额
     * 1、入参
     * 地区
     * 时间
     * <p>
     * 2、返回值
     * 地区的支付金额
     */

    @GetMapping("/queryRegionDayTotalAmount")
    public AdsRegionDayTotalAmount queryRegionDayTotalAmount(String regionName, String day) throws Exception {

        //1、创建jdbc链接
        Class.forName("com.mysql.jdbc.Driver");

        Connection con = DriverManager.getConnection("jdbc:mysql://master:3306/gma_ads?useUnicode=true&characterEncoding=utf-8","root","123456");

        //编写sql
        PreparedStatement stat = con.prepareStatement("select total_amount from ads_region_day_total_amount where region_name=? and `day`=?");

        //设置参数
        stat.setString(1, regionName);
        stat.setString(2, day);

        //执行查询
        ResultSet resultSet = stat.executeQuery();

        AdsRegionDayTotalAmount adsRegionDayTotalAmount = new AdsRegionDayTotalAmount();
        adsRegionDayTotalAmount.setRegion_name(regionName);
        adsRegionDayTotalAmount.setDay(day);
        //解析数据
        if (resultSet.next()) {
            System.out.println("test");
            BigDecimal total_amount = resultSet.getBigDecimal("total_amount");
            adsRegionDayTotalAmount.setTotal_amount(total_amount);
        }


        return adsRegionDayTotalAmount;

    }
}
